package com.kookapi.business.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.kookapi.common.annotation.Excel;
import com.kookapi.common.core.domain.BaseEntity;

/**
 * 测试步骤对象 kookapi_test_step
 * 
 * @author cleftgou
 * @date 2025-10-07
 */
public class TestStep extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 所属场景ID */
    @Excel(name = "所属场景ID")
    private Long scenarioId;

    /** 步骤执行顺序 */
    @Excel(name = "步骤执行顺序")
    private Long stepOrder;

    /** 步骤名称 */
    @Excel(name = "步骤名称")
    private String name;

    /** 引用的接口定义ID */
    @Excel(name = "引用的接口定义ID")
    private Long apiId;

    /** 数据提取规则 (JSON数组格式) */
    @Excel(name = "数据提取规则 (JSON数组格式)")
    private String extractRules;

    /** 断言规则 (JSON数组格式) */
    @Excel(name = "断言规则 (JSON数组格式)")
    private String assertionRules;

    /** jsonschema文件地址 */
    @Excel(name = "jsonschema文件地址")
    private String jsonSchemaFile;

    /** 失败时是否中断场景 */
    @Excel(name = "失败时是否中断场景")
    private String breakOnFailure;

    /** 步骤描述 */
    private String description;

    /** 删除标记：0正常，1已删除 */
    private String delFlag;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setScenarioId(Long scenarioId) 
    {
        this.scenarioId = scenarioId;
    }

    public Long getScenarioId() 
    {
        return scenarioId;
    }

    public void setStepOrder(Long stepOrder) 
    {
        this.stepOrder = stepOrder;
    }

    public Long getStepOrder() 
    {
        return stepOrder;
    }

    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }

    public void setApiId(Long apiId) 
    {
        this.apiId = apiId;
    }

    public Long getApiId() 
    {
        return apiId;
    }

    public void setExtractRules(String extractRules) 
    {
        this.extractRules = extractRules;
    }

    public String getExtractRules() 
    {
        return extractRules;
    }

    public void setAssertionRules(String assertionRules) 
    {
        this.assertionRules = assertionRules;
    }

    public String getAssertionRules() 
    {
        return assertionRules;
    }

    public void setBreakOnFailure(String breakOnFailure) 
    {
        this.breakOnFailure = breakOnFailure;
    }

    public String getBreakOnFailure() 
    {
        return breakOnFailure;
    }

    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("scenarioId", getScenarioId())
            .append("stepOrder", getStepOrder())
            .append("name", getName())
            .append("apiId", getApiId())
            .append("extractRules", getExtractRules())
            .append("assertionRules", getAssertionRules())
            .append("jsonSchemaFile", getJsonSchemaFile())
            .append("breakOnFailure", getBreakOnFailure())
            .append("description", getDescription())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("createBy", getCreateBy())
            .append("updateBy", getUpdateBy())
            .append("remark", getRemark())
            .append("delFlag", getDelFlag())
            .toString();
    }

    public String getJsonSchemaFile() {
        return jsonSchemaFile;
    }

    public void setJsonSchemaFile(String jsonSchemaFile) {
        this.jsonSchemaFile = jsonSchemaFile;
    }
}
